home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / etc / init.d / pcmciautils < prev    next >
Text File  |  2009-03-09  |  2KB  |  137 lines

  1. #! /bin/sh
  2. #
  3. ### BEGIN INIT INFO
  4. # Provides:          pcmcia
  5. # Required-Start:    udev
  6. # Required-Stop:
  7. # Default-Start:     S
  8. # Default-Stop:
  9. # Short-Description: PCMCIA support
  10. # Description:       This service provides PCMCIA hardware support for
  11. #                    systems running Linux >= 2.6.13-rc1.
  12. ### END INIT INFO
  13.  
  14. set -e
  15.  
  16. [ -f /sbin/pccardctl ] || exit 0
  17.  
  18. # If /lib/lsb/init-functions doesn't exist
  19. # define them here, otherwise installer breaks
  20. if [ -f /lib/lsb/init-functions ]; then
  21.     . /lib/lsb/init-functions
  22. else
  23.     log_daemon_msg()
  24.     {
  25.     echo "$1: $2"
  26.     }
  27.     log_end_msg()
  28.     {
  29.     if [ "$1" = 0 ]; then
  30.         echo "done"
  31.     else
  32.         echo "failed!"
  33.     fi
  34.     return $1
  35.     }
  36.     log_success_msg()
  37.     {
  38.     echo "$@"
  39.     }
  40.     log_failure_msg()
  41.     {
  42.     echo "$@"
  43.     }
  44. fi
  45.  
  46. [ -f /etc/default/pcmciautils ] && . /etc/default/pcmciautils
  47.  
  48. case $PCMCIA in
  49.     no|false)
  50.     exit 0
  51.     ;;
  52. esac
  53.  
  54. [ -f /etc/default/rcS ] && . /etc/default/rcS
  55.  
  56. # Are we running from init?
  57. run_by_init()
  58. {
  59.     ([ "$previous" ] && [ "$runlevel" ]) || [ "$runlevel" = S ]
  60. }
  61.  
  62. if ls /sys/class/pcmcia_socket/* >/dev/null 2>&1; then
  63.     if ! run_by_init; then
  64.     log_success_msg "PCMCIA bridge driver already present in kernel"
  65.     fi
  66.     exit 0
  67. fi
  68.  
  69. KERNEL_VERSION="$(uname -r)"
  70. KERNEL_VERSION="${KERNEL_VERSION%%-*}"
  71.  
  72. supported_kernel()
  73. {
  74.     case $KERNEL_VERSION in
  75.     2.[012345].*|2.6.[0-9]|2.6.[0-9][!0-9]*) return 1 ;;
  76.     2.6.1[012]|2.6.1[012][!0-9]*) return 1 ;;
  77.     esac
  78.     return 0
  79. }
  80.  
  81. if ! supported_kernel; then
  82.     if ! run_by_init; then
  83.     log_failure_msg "pcmciautils requires Linux >= 2.6.13-rc1; use pcmcia-cs instead"
  84.     fi
  85.     exit 1
  86. fi
  87.  
  88. if [ -z "$PCIC" ]; then
  89.     if ! run_by_init; then
  90.     log_failure_msg "No PCMCIA bridge module specified"
  91.     fi
  92.     exit 1
  93. fi
  94.  
  95. if ! [ -e /dev/.udev ]; then
  96.     if ! run_by_init; then
  97.     log_failure_msg "pcmciautils requires udev to be enabled"
  98.     fi
  99.     exit 1
  100. fi
  101.  
  102. if [ "$VERBOSE" = "no" ]; then
  103.     MODPROBE_OPTIONS="$MODPROBE_OPTIONS -q"
  104.     export MODPROBE_OPTIONS
  105. fi
  106.  
  107. case "$1" in
  108.     start)
  109.     log_daemon_msg "Loading PCMCIA bridge driver module" "$PCIC"
  110.  
  111.     if [ "$CORE_OPTS" ]; then
  112.         modprobe -b pcmcia_core $CORE_OPTS
  113.     fi
  114.     
  115.     modprobe -b $PCIC $PCIC_OPTS
  116.     
  117.     log_end_msg $?
  118.     ;;
  119.  
  120.     stop)
  121.     ;;
  122.     
  123.     restart)
  124.     $0 stop
  125.     $0 start
  126.     exit $?
  127.     ;;
  128.  
  129.     reload|force-reload)
  130.     ;;
  131.  
  132.     *)
  133.     log_success_msg "Usage: $0 {start|stop|restart|reload|force-reload}"
  134.     exit 2
  135.     ;;
  136. esac
  137.